package com.ctshk.rpc.ship.req;

import com.ctshk.common.model.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 船票销售加幅策略
 * </p>
 *
 * @author 刘蕾
 * @since 2021-03-10
 */
@Data
@ApiModel(value="ShipProductSaleStrategy对象", description="船票销售加幅策略")
public class ShipProductSaleStrategyReq extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    @ApiModelProperty(value = "所属产品")
    private Long productId;

    @ApiModelProperty(value = "船票产品id集合,批量售价管理使用")
    private List<Long> shipProductIdList;

    @ApiModelProperty(value = "策略名称")
    private String name;

    @NotNull(message = "自营权限类型不能为空")
    @ApiModelProperty(value = "自营权限类型")
    private Integer selfSalePermissionType;

    @NotNull(message = "代理商权限类型不能为空")
    @ApiModelProperty(value = "代理商权限类型")
    private Integer agentSalePermissionType;


    @ApiModelProperty(value = "有效期集合")
    private List<ShipProductSaleStrategyVaildDateReq> shipProductSaleStrategyVaildDateList;



    @ApiModelProperty(value = "线下代理商自定义用户部门设置集合")
    private List<ShipProductChannelOfflineAgentCustomReq> shipProductChannelOfflineAgentCustomList;

    @ApiModelProperty(value = "线下自营自定义用户部门集合")
    private List<ShipProductChannelOfflineSelfCustomReq> shipProductChannelOfflineSelfCustomList;

    @ApiModelProperty(value = "线上渠道自定义权限集合")
    private List<ShipProductChannelOnlineSelfPlatformReq> shipProductChannelOnlineSelfPlatformList;

    @ApiModelProperty(value = "线上渠道第三方平台集合")
    private List<ShipProductChannelOnlineThirdPlatformReq> shipProductChannelOnlineThirdPlatformList;


}
